Model-based Predictive Control, also known as “MPC”, is a common approach utilized in advanced industrial process control applications. MPC typically involves the use of a controller that utilizes a mathematical model of the process to predict the future behavior of the control system and formulate a control problem as a constrained optimization. The accuracy of the internal process model is crucial to control performance.
MPC is thus a standard control and optimization technique utilized in process control applications such as, for example, petrochemical industry, power and industrial energy, power train control applications in diesel engines, turbocharger control, and so forth. The acronym “MPC” generally refers to a class of computer algorithms that utilize an internal mathematical model of the controlled system and an optimization algorithm to compute optimal future trajectories of system inputs for control action. MPC is usually implemented in the context of the so-called “Receding Horizon” scheme. In typical receding horizon control schemes, the controller calculates future trajectories of system inputs at each sampling period. The first control action, however, is generally applied to the system and new future trajectories are computed in the next sampling period after obtaining new measurements. The receding horizon scheme introduces a standard feedback for the MPC controller.
The MPC may include, for example, a model of the dynamic process of engine operation and provide predictive control signals to the engine subject to constraints in control variables and measured output variables. Such models may be static and/or dynamic, linear or nonlinear, depending on the application. In some cases, the models may produce one or more output signals y(t) from one or more input signals u(t). A dynamic model typically contains a static model plus information about the time response of the system. Thus, a dynamic model is often of higher fidelity than a static model.
To provide a simple example in mathematical terms, a linear dynamic model may have the following form:Y(t)=B0*u(t)+B1*u(t−1)+ . . . +Bn*u(t−n)+A1*y(t−1)+ . . . +Am*y(t−m)wherein B0 . . . Bn, and A1 . . . Am are constant matrices.
In a dynamic model, y(t) which is the output at time t, is based on the current input u(t), one or more past inputs u(t−1), . . . , u(t−n), and also on one or more past outputs y(t−1) . . . y(t−m). A static model is a special case where, for example, the matrices are B1= . . . =Bn=0, and A1= . . . =Am=0, which can be expressed by the simpler relationship: y(t)=B0 u(t).
A static model can be shown as a simple matrix multiplier. A static model typically has no “memory” of the inputs u(t−1), u(t−2) . . . or outputs y(t−1) . . . etc. As a result, a static model can be simpler, but may be less powerful in modeling some dynamic system parameters.
A continuous-time model of a nonlinear dynamical system may have the general form:x(t)=ƒ(x(t),u(t))y(t)=h(x(t),u(t))
For a turbocharged diesel system, the system dynamics can be relatively complicated and several of the interactions may have characteristics known as “non-minimum phase”. This is a dynamic response where the output y(t), when exposed to a step in input u(t), will initially move in one direction and then turn around and move towards its steady state in the opposite direction. In some cases, these dynamics may be important for optimal operation of the control system. Thus, dynamic models are often preferred, at least when modeling some control parameters.
In one example, the MPC may include a multivariable model that models the effect of changes in one or more actuators of the plant and the multivariable controller may then control the actuators to produce a desired response in the two or more parameters. Likewise, the model may, in some cases, model the effects of simultaneous changes in two or more actuators on each of one or more plant parameters and the multivariable controller may control the actuators to produce a desired response in each of the one or more parameters.
For example, an illustrative state-space model of a linear discrete time dynamical system may be represented by using equations of the form:x(t+1)=Ax(t)+Bu(t)y(t)=Cx(t)
The model predictive algorithm involves solving the optimization problem:u(k)=arg min {J}wherein the function J is given by,
  J  =                                          x            ^                    ⁡                      (                                          t                +                                  N                  y                                            |              t                        )                          T            ⁢      P      ⁢                          ⁢                        x          ^                ⁡                  (                                    t              +                              N                y                                      |            t                    )                      +                  ∑                  k          =          0                                      N            y                    -          1                    ⁢              [                                                                                                                                                x                        ^                                            ⁡                                              (                                                                              t                            +                            k                                                    |                          t                                                )                                                              T                                    ⁢                  Q                  ⁢                                                            x                      ^                                        ⁡                                          (                                                                        t                          +                          k                                                |                        t                                            )                                                                      +                                                                                        u                ⁢                                                      (                                          t                      +                      k                                        )                                    T                                ⁢                                  Ru                  ⁡                                      (                                          t                      +                      k                                        )                                                                                      ]            Subject to Constraintsymin≦ŷ(t+k|t)≦ymax umin≦u(t+k)≦umax x(t|t)=x(t){circumflex over (x)}(t+k+1|t)=A{circumflex over (x)}(t+k|t)+Bu(t+k)ŷ(t+k|t)=C{circumflex over (x)}(t+k|t)
In some embodiments, this is transformed into a Quadratic Programming (QP) problem and solved with standard or customized tools. The variable “y(k)” contains the sensor measurements. The variables ŷ(k+t|t) denote the outputs of the system predicted at time “t+k” when the measurements “y(t)” are available. They are used in the model predictive controller to choose the sequence of inputs which yields the “best” (according to performance index J) predicted sequence of outputs.
The variables “u(k)” can be produced by optimizing J and, in some cases, are used for the actuator set points. The variable “x(k)” is a variable representing an internal state of the dynamical state space model of the system. The variable {circumflex over (x)}(t+k|t) indicates the predicted version of the state variable k discrete time steps into the future and is used in the model predictive controller to optimize the future values of the system.
The variables ymin and ymax are constraints and indicate the minimum and maximum values that the system predicted measurements ŷ(k) are permitted to attain. These often correspond to hard limits on the closed-loop behavior in the control system.
The variables umin and umax are also constraints and indicate the minimum and maximum values that the system actuators û(k) are permitted to attain, often corresponding to physical limitations on the actuators. Like above, in some cases and depending on the circumstances, only a minimum umin or maximum umax constraint may be provided. Also, some or all of the constraints (e.g. ymin, ymax, umin, umax) may vary in time, depending on the current operating conditions. The constant matrices P, Q, R are often positive definite matrices used to set a penalty on the optimization of the respective variables. These are used in practice to “tune” the closed-loop response of the system.
Various control techniques and approaches have been implemented to utilize a feedforward control in addition to the conventional feedback control system for the purpose of improving overall control performance—both for MPC and non-MPC control approaches. In practice, due to the inherent nonlinearities present in almost all real world devices, control systems are almost always nonlinear which may cause considerable degradation of resulting performance, or even instability, of the control system in some situations, particularly if a linear MPC control strategy is utilized. In such a case, the linear models may not be accurate and some technique must be implemented to handle such model uncertainties.
The majority of prior art process control techniques for implementing feedforward control with respect to a conventional feedback control system are insufficient to prevent the feedback control from diverging from its desired operating point and can significantly degrade the overall control performance. For example, in many cases the feedback control is designed to operate in a neighborhood of a desired operating point and the corresponding plant models are valid only in that neighborhood as they are often linear approximations to the nonlinear plant at the desired operating point. In such a case, if the controller steers the system away from the desired operating point, the feedback control may result in an unstable closed-loop which is unable to recover to the desired operating point—thus leading to a serious failure of the control system. Hence, in the absence of suitable protection from system nonlinear effects, the control system's closed-loop performance may be degraded or, in the worst case, the stability of the control loop can be lost.
The linear MPC technology can be configured to compute the feedforward signal in a very efficient way (“system dynamic inversion”). Typically, all measured disturbance signals affecting the system may be included into the linear model which is used for MPC control design. Then, the MPC controller ensures the optimal control action including the combination of feedback and feedforward parts. The controlled systems, however, are non-linear and the linear models may be inaccurate so significantly that the resulting performances may not be acceptable.
Based on the foregoing, it is believed that a need exists for an improved method and system for combining a feedforward and a feedback control in the context of MPC to minimize the effect of model uncertainty particularly in nonlinear plants. Such an improved method and system is described in greater detail herein.